<?php

require_once 'propel/om/BaseObject.php';

require_once 'propel/om/Persistent.php';


include_once 'propel/util/Criteria.php';

include_once 'classes/model/HrEmployeePeer.php';

/**
 * Base class that represents a row from the 'HR_EMPLOYEE' table.
 *
 * 
 *
 * @package    workflow.classes.model.om
 */
abstract class BaseHrEmployee extends BaseObject  implements Persistent {


	/**
	 * The Peer class.
	 * Instance provides a convenient way of calling static methods on a class
	 * that calling code may not be able to identify.
	 * @var        HrEmployeePeer
	 */
	protected static $peer;


	/**
	 * The value for the employee_uid field.
	 * @var        string
	 */
	protected $employee_uid = '';


	/**
	 * The value for the employeefirstname field.
	 * @var        string
	 */
	protected $employeefirstname = '';


	/**
	 * The value for the employeemiddlename field.
	 * @var        string
	 */
	protected $employeemiddlename = '';


	/**
	 * The value for the employeelastname field.
	 * @var        string
	 */
	protected $employeelastname = '';


	/**
	 * The value for the employeecalledname field.
	 * @var        string
	 */
	protected $employeecalledname = '';


	/**
	 * The value for the employeeprefix_id field.
	 * @var        string
	 */
	protected $employeeprefix_id = '';


	/**
	 * The value for the employeesuffix_id field.
	 * @var        string
	 */
	protected $employeesuffix_id = '';


	/**
	 * The value for the employeeworkemail field.
	 * @var        string
	 */
	protected $employeeworkemail = '';


	/**
	 * The value for the employeepersonalemail field.
	 * @var        string
	 */
	protected $employeepersonalemail = '';


	/**
	 * The value for the employeehomephone field.
	 * @var        string
	 */
	protected $employeehomephone = '';


	/**
	 * The value for the employeemobilephone field.
	 * @var        string
	 */
	protected $employeemobilephone = '';


	/**
	 * The value for the employeewebpage field.
	 * @var        string
	 */
	protected $employeewebpage = '';


	/**
	 * The value for the employeegender_id field.
	 * @var        string
	 */
	protected $employeegender_id = '';


	/**
	 * The value for the employeedateofbirth field.
	 * @var        int
	 */
	protected $employeedateofbirth;


	/**
	 * The value for the employeestate_id field.
	 * @var        string
	 */
	protected $employeestate_id = '';


	/**
	 * The value for the employeessn field.
	 * @var        string
	 */
	protected $employeessn = '';


	/**
	 * The value for the employeepicture field.
	 * @var        string
	 */
	protected $employeepicture = '';


	/**
	 * The value for the employeeishispanic field.
	 * @var        int
	 */
	protected $employeeishispanic = 0;


	/**
	 * The value for the employeeisasian field.
	 * @var        int
	 */
	protected $employeeisasian = 0;


	/**
	 * The value for the employeeisafricanamerican field.
	 * @var        int
	 */
	protected $employeeisafricanamerican = 0;


	/**
	 * The value for the employeeisamericanindian field.
	 * @var        int
	 */
	protected $employeeisamericanindian = 0;


	/**
	 * The value for the employeeisalaskanative field.
	 * @var        int
	 */
	protected $employeeisalaskanative = 0;


	/**
	 * The value for the employeeishawaiianorotherpacificislander field.
	 * @var        int
	 */
	protected $employeeishawaiianorotherpacificislander = 0;


	/**
	 * The value for the employeeiswhite field.
	 * @var        int
	 */
	protected $employeeiswhite = 0;


	/**
	 * The value for the district_id field.
	 * @var        string
	 */
	protected $district_id = '';


	/**
	 * The value for the districtphone field.
	 * @var        string
	 */
	protected $districtphone = '';


	/**
	 * The value for the districtextension field.
	 * @var        string
	 */
	protected $districtextension = '';


	/**
	 * The value for the homephoneunlisted field.
	 * @var        string
	 */
	protected $homephoneunlisted = '';


	/**
	 * The value for the maritalstatus_id field.
	 * @var        string
	 */
	protected $maritalstatus_id = '';


	/**
	 * The value for the subdays field.
	 * @var        int
	 */
	protected $subdays = 0;


	/**
	 * The value for the osdidistrictcode field.
	 * @var        string
	 */
	protected $osdidistrictcode = '';


	/**
	 * The value for the directdepost field.
	 * @var        int
	 */
	protected $directdepost = 0;


	/**
	 * The value for the retirementeligible field.
	 * @var        int
	 */
	protected $retirementeligible = 0;


	/**
	 * The value for the handicapstatus field.
	 * @var        int
	 */
	protected $handicapstatus = 0;


	/**
	 * The value for the multilingual field.
	 * @var        int
	 */
	protected $multilingual = 0;


	/**
	 * The value for the reporttoemis field.
	 * @var        int
	 */
	protected $reporttoemis = 0;


	/**
	 * The value for the odhsreported field.
	 * @var        int
	 */
	protected $odhsreported = 0;


	/**
	 * The value for the emisemployeeid field.
	 * @var        string
	 */
	protected $emisemployeeid = '';


	/**
	 * The value for the emaildirectdepost field.
	 * @var        int
	 */
	protected $emaildirectdepost = 0;


	/**
	 * The value for the user_id field.
	 * @var        string
	 */
	protected $user_id = '';


	/**
	 * The value for the boardhiredate field.
	 * @var        int
	 */
	protected $boardhiredate;


	/**
	 * The value for the fbibgcheckdate field.
	 * @var        int
	 */
	protected $fbibgcheckdate;


	/**
	 * The value for the bcibgcheckdate field.
	 * @var        int
	 */
	protected $bcibgcheckdate;


	/**
	 * The value for the tbtestdate field.
	 * @var        int
	 */
	protected $tbtestdate;


	/**
	 * The value for the ovrbgcheckdate field.
	 * @var        int
	 */
	protected $ovrbgcheckdate;


	/**
	 * The value for the cpidate field.
	 * @var        int
	 */
	protected $cpidate;


	/**
	 * The value for the hqteacher field.
	 * @var        int
	 */
	protected $hqteacher = 0;


	/**
	 * The value for the outofstateexperience field.
	 * @var        int
	 */
	protected $outofstateexperience = 0;


	/**
	 * The value for the inofstatepubexperience field.
	 * @var        int
	 */
	protected $inofstatepubexperience = 0;


	/**
	 * The value for the inofstatenonpubexperience field.
	 * @var        int
	 */
	protected $inofstatenonpubexperience = 0;


	/**
	 * The value for the indistrictexperience field.
	 * @var        int
	 */
	protected $indistrictexperience = 0;


	/**
	 * The value for the militarytime field.
	 * @var        int
	 */
	protected $militarytime = 0;


	/**
	 * The value for the purchasedservicecredit field.
	 * @var        int
	 */
	protected $purchasedservicecredit = 0;

	/**
	 * Flag to prevent endless save loop, if this object is referenced
	 * by another object which falls in this transaction.
	 * @var        boolean
	 */
	protected $alreadyInSave = false;

	/**
	 * Flag to prevent endless validation loop, if this object is referenced
	 * by another object which falls in this transaction.
	 * @var        boolean
	 */
	protected $alreadyInValidation = false;

	/**
	 * Get the [employee_uid] column value.
	 * 
	 * @return     string
	 */
	public function getEmployeeUid()
	{

		return $this->employee_uid;
	}

	/**
	 * Get the [employeefirstname] column value.
	 * 
	 * @return     string
	 */
	public function getEmployeefirstname()
	{

		return $this->employeefirstname;
	}

	/**
	 * Get the [employeemiddlename] column value.
	 * 
	 * @return     string
	 */
	public function getEmployeemiddlename()
	{

		return $this->employeemiddlename;
	}

	/**
	 * Get the [employeelastname] column value.
	 * 
	 * @return     string
	 */
	public function getEmployeelastname()
	{

		return $this->employeelastname;
	}

	/**
	 * Get the [employeecalledname] column value.
	 * 
	 * @return     string
	 */
	public function getEmployeecalledname()
	{

		return $this->employeecalledname;
	}

	/**
	 * Get the [employeeprefix_id] column value.
	 * 
	 * @return     string
	 */
	public function getEmployeeprefixId()
	{

		return $this->employeeprefix_id;
	}

	/**
	 * Get the [employeesuffix_id] column value.
	 * 
	 * @return     string
	 */
	public function getEmployeesuffixId()
	{

		return $this->employeesuffix_id;
	}

	/**
	 * Get the [employeeworkemail] column value.
	 * 
	 * @return     string
	 */
	public function getEmployeeworkemail()
	{

		return $this->employeeworkemail;
	}

	/**
	 * Get the [employeepersonalemail] column value.
	 * 
	 * @return     string
	 */
	public function getEmployeepersonalemail()
	{

		return $this->employeepersonalemail;
	}

	/**
	 * Get the [employeehomephone] column value.
	 * 
	 * @return     string
	 */
	public function getEmployeehomephone()
	{

		return $this->employeehomephone;
	}

	/**
	 * Get the [employeemobilephone] column value.
	 * 
	 * @return     string
	 */
	public function getEmployeemobilephone()
	{

		return $this->employeemobilephone;
	}

	/**
	 * Get the [employeewebpage] column value.
	 * 
	 * @return     string
	 */
	public function getEmployeewebpage()
	{

		return $this->employeewebpage;
	}

	/**
	 * Get the [employeegender_id] column value.
	 * 
	 * @return     string
	 */
	public function getEmployeegenderId()
	{

		return $this->employeegender_id;
	}

	/**
	 * Get the [optionally formatted] [employeedateofbirth] column value.
	 * 
	 * @param      string $format The date/time format string (either date()-style or strftime()-style).
	 *							If format is NULL, then the integer unix timestamp will be returned.
	 * @return     mixed Formatted date/time value as string or integer unix timestamp (if format is NULL).
	 * @throws     PropelException - if unable to convert the date/time to timestamp.
	 */
	public function getEmployeedateofbirth($format = 'Y-m-d')
	{

		if ($this->employeedateofbirth === null || $this->employeedateofbirth === '') {
			return null;
		} elseif (!is_int($this->employeedateofbirth)) {
			// a non-timestamp value was set externally, so we convert it
			$ts = strtotime($this->employeedateofbirth);
			if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
				throw new PropelException("Unable to parse value of [employeedateofbirth] as date/time value: " . var_export($this->employeedateofbirth, true));
			}
		} else {
			$ts = $this->employeedateofbirth;
		}
		if ($format === null) {
			return $ts;
		} elseif (strpos($format, '%') !== false) {
			return strftime($format, $ts);
		} else {
			return date($format, $ts);
		}
	}

	/**
	 * Get the [employeestate_id] column value.
	 * 
	 * @return     string
	 */
	public function getEmployeestateId()
	{

		return $this->employeestate_id;
	}

	/**
	 * Get the [employeessn] column value.
	 * 
	 * @return     string
	 */
	public function getEmployeessn()
	{

		return $this->employeessn;
	}

	/**
	 * Get the [employeepicture] column value.
	 * 
	 * @return     string
	 */
	public function getEmployeepicture()
	{

		return $this->employeepicture;
	}

	/**
	 * Get the [employeeishispanic] column value.
	 * 
	 * @return     int
	 */
	public function getEmployeeishispanic()
	{

		return $this->employeeishispanic;
	}

	/**
	 * Get the [employeeisasian] column value.
	 * 
	 * @return     int
	 */
	public function getEmployeeisasian()
	{

		return $this->employeeisasian;
	}

	/**
	 * Get the [employeeisafricanamerican] column value.
	 * 
	 * @return     int
	 */
	public function getEmployeeisafricanamerican()
	{

		return $this->employeeisafricanamerican;
	}

	/**
	 * Get the [employeeisamericanindian] column value.
	 * 
	 * @return     int
	 */
	public function getEmployeeisamericanindian()
	{

		return $this->employeeisamericanindian;
	}

	/**
	 * Get the [employeeisalaskanative] column value.
	 * 
	 * @return     int
	 */
	public function getEmployeeisalaskanative()
	{

		return $this->employeeisalaskanative;
	}

	/**
	 * Get the [employeeishawaiianorotherpacificislander] column value.
	 * 
	 * @return     int
	 */
	public function getEmployeeishawaiianorotherpacificislander()
	{

		return $this->employeeishawaiianorotherpacificislander;
	}

	/**
	 * Get the [employeeiswhite] column value.
	 * 
	 * @return     int
	 */
	public function getEmployeeiswhite()
	{

		return $this->employeeiswhite;
	}

	/**
	 * Get the [district_id] column value.
	 * 
	 * @return     string
	 */
	public function getDistrictId()
	{

		return $this->district_id;
	}

	/**
	 * Get the [districtphone] column value.
	 * 
	 * @return     string
	 */
	public function getDistrictphone()
	{

		return $this->districtphone;
	}

	/**
	 * Get the [districtextension] column value.
	 * 
	 * @return     string
	 */
	public function getDistrictextension()
	{

		return $this->districtextension;
	}

	/**
	 * Get the [homephoneunlisted] column value.
	 * 
	 * @return     string
	 */
	public function getHomephoneunlisted()
	{

		return $this->homephoneunlisted;
	}

	/**
	 * Get the [maritalstatus_id] column value.
	 * 
	 * @return     string
	 */
	public function getMaritalstatusId()
	{

		return $this->maritalstatus_id;
	}

	/**
	 * Get the [subdays] column value.
	 * 
	 * @return     int
	 */
	public function getSubdays()
	{

		return $this->subdays;
	}

	/**
	 * Get the [osdidistrictcode] column value.
	 * 
	 * @return     string
	 */
	public function getOsdidistrictcode()
	{

		return $this->osdidistrictcode;
	}

	/**
	 * Get the [directdepost] column value.
	 * 
	 * @return     int
	 */
	public function getDirectdepost()
	{

		return $this->directdepost;
	}

	/**
	 * Get the [retirementeligible] column value.
	 * 
	 * @return     int
	 */
	public function getRetirementeligible()
	{

		return $this->retirementeligible;
	}

	/**
	 * Get the [handicapstatus] column value.
	 * 
	 * @return     int
	 */
	public function getHandicapstatus()
	{

		return $this->handicapstatus;
	}

	/**
	 * Get the [multilingual] column value.
	 * 
	 * @return     int
	 */
	public function getMultilingual()
	{

		return $this->multilingual;
	}

	/**
	 * Get the [reporttoemis] column value.
	 * 
	 * @return     int
	 */
	public function getReporttoemis()
	{

		return $this->reporttoemis;
	}

	/**
	 * Get the [odhsreported] column value.
	 * 
	 * @return     int
	 */
	public function getOdhsreported()
	{

		return $this->odhsreported;
	}

	/**
	 * Get the [emisemployeeid] column value.
	 * 
	 * @return     string
	 */
	public function getEmisemployeeid()
	{

		return $this->emisemployeeid;
	}

	/**
	 * Get the [emaildirectdepost] column value.
	 * 
	 * @return     int
	 */
	public function getEmaildirectdepost()
	{

		return $this->emaildirectdepost;
	}

	/**
	 * Get the [user_id] column value.
	 * 
	 * @return     string
	 */
	public function getUserId()
	{

		return $this->user_id;
	}

	/**
	 * Get the [optionally formatted] [boardhiredate] column value.
	 * 
	 * @param      string $format The date/time format string (either date()-style or strftime()-style).
	 *							If format is NULL, then the integer unix timestamp will be returned.
	 * @return     mixed Formatted date/time value as string or integer unix timestamp (if format is NULL).
	 * @throws     PropelException - if unable to convert the date/time to timestamp.
	 */
	public function getBoardhiredate($format = 'Y-m-d')
	{

		if ($this->boardhiredate === null || $this->boardhiredate === '') {
			return null;
		} elseif (!is_int($this->boardhiredate)) {
			// a non-timestamp value was set externally, so we convert it
			$ts = strtotime($this->boardhiredate);
			if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
				throw new PropelException("Unable to parse value of [boardhiredate] as date/time value: " . var_export($this->boardhiredate, true));
			}
		} else {
			$ts = $this->boardhiredate;
		}
		if ($format === null) {
			return $ts;
		} elseif (strpos($format, '%') !== false) {
			return strftime($format, $ts);
		} else {
			return date($format, $ts);
		}
	}

	/**
	 * Get the [optionally formatted] [fbibgcheckdate] column value.
	 * 
	 * @param      string $format The date/time format string (either date()-style or strftime()-style).
	 *							If format is NULL, then the integer unix timestamp will be returned.
	 * @return     mixed Formatted date/time value as string or integer unix timestamp (if format is NULL).
	 * @throws     PropelException - if unable to convert the date/time to timestamp.
	 */
	public function getFbibgcheckdate($format = 'Y-m-d')
	{

		if ($this->fbibgcheckdate === null || $this->fbibgcheckdate === '') {
			return null;
		} elseif (!is_int($this->fbibgcheckdate)) {
			// a non-timestamp value was set externally, so we convert it
			$ts = strtotime($this->fbibgcheckdate);
			if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
				throw new PropelException("Unable to parse value of [fbibgcheckdate] as date/time value: " . var_export($this->fbibgcheckdate, true));
			}
		} else {
			$ts = $this->fbibgcheckdate;
		}
		if ($format === null) {
			return $ts;
		} elseif (strpos($format, '%') !== false) {
			return strftime($format, $ts);
		} else {
			return date($format, $ts);
		}
	}

	/**
	 * Get the [optionally formatted] [bcibgcheckdate] column value.
	 * 
	 * @param      string $format The date/time format string (either date()-style or strftime()-style).
	 *							If format is NULL, then the integer unix timestamp will be returned.
	 * @return     mixed Formatted date/time value as string or integer unix timestamp (if format is NULL).
	 * @throws     PropelException - if unable to convert the date/time to timestamp.
	 */
	public function getBcibgcheckdate($format = 'Y-m-d')
	{

		if ($this->bcibgcheckdate === null || $this->bcibgcheckdate === '') {
			return null;
		} elseif (!is_int($this->bcibgcheckdate)) {
			// a non-timestamp value was set externally, so we convert it
			$ts = strtotime($this->bcibgcheckdate);
			if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
				throw new PropelException("Unable to parse value of [bcibgcheckdate] as date/time value: " . var_export($this->bcibgcheckdate, true));
			}
		} else {
			$ts = $this->bcibgcheckdate;
		}
		if ($format === null) {
			return $ts;
		} elseif (strpos($format, '%') !== false) {
			return strftime($format, $ts);
		} else {
			return date($format, $ts);
		}
	}

	/**
	 * Get the [optionally formatted] [tbtestdate] column value.
	 * 
	 * @param      string $format The date/time format string (either date()-style or strftime()-style).
	 *							If format is NULL, then the integer unix timestamp will be returned.
	 * @return     mixed Formatted date/time value as string or integer unix timestamp (if format is NULL).
	 * @throws     PropelException - if unable to convert the date/time to timestamp.
	 */
	public function getTbtestdate($format = 'Y-m-d')
	{

		if ($this->tbtestdate === null || $this->tbtestdate === '') {
			return null;
		} elseif (!is_int($this->tbtestdate)) {
			// a non-timestamp value was set externally, so we convert it
			$ts = strtotime($this->tbtestdate);
			if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
				throw new PropelException("Unable to parse value of [tbtestdate] as date/time value: " . var_export($this->tbtestdate, true));
			}
		} else {
			$ts = $this->tbtestdate;
		}
		if ($format === null) {
			return $ts;
		} elseif (strpos($format, '%') !== false) {
			return strftime($format, $ts);
		} else {
			return date($format, $ts);
		}
	}

	/**
	 * Get the [optionally formatted] [ovrbgcheckdate] column value.
	 * 
	 * @param      string $format The date/time format string (either date()-style or strftime()-style).
	 *							If format is NULL, then the integer unix timestamp will be returned.
	 * @return     mixed Formatted date/time value as string or integer unix timestamp (if format is NULL).
	 * @throws     PropelException - if unable to convert the date/time to timestamp.
	 */
	public function getOvrbgcheckdate($format = 'Y-m-d')
	{

		if ($this->ovrbgcheckdate === null || $this->ovrbgcheckdate === '') {
			return null;
		} elseif (!is_int($this->ovrbgcheckdate)) {
			// a non-timestamp value was set externally, so we convert it
			$ts = strtotime($this->ovrbgcheckdate);
			if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
				throw new PropelException("Unable to parse value of [ovrbgcheckdate] as date/time value: " . var_export($this->ovrbgcheckdate, true));
			}
		} else {
			$ts = $this->ovrbgcheckdate;
		}
		if ($format === null) {
			return $ts;
		} elseif (strpos($format, '%') !== false) {
			return strftime($format, $ts);
		} else {
			return date($format, $ts);
		}
	}

	/**
	 * Get the [optionally formatted] [cpidate] column value.
	 * 
	 * @param      string $format The date/time format string (either date()-style or strftime()-style).
	 *							If format is NULL, then the integer unix timestamp will be returned.
	 * @return     mixed Formatted date/time value as string or integer unix timestamp (if format is NULL).
	 * @throws     PropelException - if unable to convert the date/time to timestamp.
	 */
	public function getCpidate($format = 'Y-m-d')
	{

		if ($this->cpidate === null || $this->cpidate === '') {
			return null;
		} elseif (!is_int($this->cpidate)) {
			// a non-timestamp value was set externally, so we convert it
			$ts = strtotime($this->cpidate);
			if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
				throw new PropelException("Unable to parse value of [cpidate] as date/time value: " . var_export($this->cpidate, true));
			}
		} else {
			$ts = $this->cpidate;
		}
		if ($format === null) {
			return $ts;
		} elseif (strpos($format, '%') !== false) {
			return strftime($format, $ts);
		} else {
			return date($format, $ts);
		}
	}

	/**
	 * Get the [hqteacher] column value.
	 * 
	 * @return     int
	 */
	public function getHqteacher()
	{

		return $this->hqteacher;
	}

	/**
	 * Get the [outofstateexperience] column value.
	 * 
	 * @return     int
	 */
	public function getOutofstateexperience()
	{

		return $this->outofstateexperience;
	}

	/**
	 * Get the [inofstatepubexperience] column value.
	 * 
	 * @return     int
	 */
	public function getInofstatepubexperience()
	{

		return $this->inofstatepubexperience;
	}

	/**
	 * Get the [inofstatenonpubexperience] column value.
	 * 
	 * @return     int
	 */
	public function getInofstatenonpubexperience()
	{

		return $this->inofstatenonpubexperience;
	}

	/**
	 * Get the [indistrictexperience] column value.
	 * 
	 * @return     int
	 */
	public function getIndistrictexperience()
	{

		return $this->indistrictexperience;
	}

	/**
	 * Get the [militarytime] column value.
	 * 
	 * @return     int
	 */
	public function getMilitarytime()
	{

		return $this->militarytime;
	}

	/**
	 * Get the [purchasedservicecredit] column value.
	 * 
	 * @return     int
	 */
	public function getPurchasedservicecredit()
	{

		return $this->purchasedservicecredit;
	}

	/**
	 * Set the value of [employee_uid] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setEmployeeUid($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->employee_uid !== $v || $v === '') {
			$this->employee_uid = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEE_UID;
		}

	} // setEmployeeUid()

	/**
	 * Set the value of [employeefirstname] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setEmployeefirstname($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->employeefirstname !== $v || $v === '') {
			$this->employeefirstname = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEFIRSTNAME;
		}

	} // setEmployeefirstname()

	/**
	 * Set the value of [employeemiddlename] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setEmployeemiddlename($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->employeemiddlename !== $v || $v === '') {
			$this->employeemiddlename = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEMIDDLENAME;
		}

	} // setEmployeemiddlename()

	/**
	 * Set the value of [employeelastname] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setEmployeelastname($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->employeelastname !== $v || $v === '') {
			$this->employeelastname = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEELASTNAME;
		}

	} // setEmployeelastname()

	/**
	 * Set the value of [employeecalledname] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setEmployeecalledname($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->employeecalledname !== $v || $v === '') {
			$this->employeecalledname = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEECALLEDNAME;
		}

	} // setEmployeecalledname()

	/**
	 * Set the value of [employeeprefix_id] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setEmployeeprefixId($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->employeeprefix_id !== $v || $v === '') {
			$this->employeeprefix_id = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEPREFIX_ID;
		}

	} // setEmployeeprefixId()

	/**
	 * Set the value of [employeesuffix_id] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setEmployeesuffixId($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->employeesuffix_id !== $v || $v === '') {
			$this->employeesuffix_id = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEESUFFIX_ID;
		}

	} // setEmployeesuffixId()

	/**
	 * Set the value of [employeeworkemail] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setEmployeeworkemail($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->employeeworkemail !== $v || $v === '') {
			$this->employeeworkemail = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEWORKEMAIL;
		}

	} // setEmployeeworkemail()

	/**
	 * Set the value of [employeepersonalemail] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setEmployeepersonalemail($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->employeepersonalemail !== $v || $v === '') {
			$this->employeepersonalemail = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEPERSONALEMAIL;
		}

	} // setEmployeepersonalemail()

	/**
	 * Set the value of [employeehomephone] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setEmployeehomephone($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->employeehomephone !== $v || $v === '') {
			$this->employeehomephone = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEHOMEPHONE;
		}

	} // setEmployeehomephone()

	/**
	 * Set the value of [employeemobilephone] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setEmployeemobilephone($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->employeemobilephone !== $v || $v === '') {
			$this->employeemobilephone = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEMOBILEPHONE;
		}

	} // setEmployeemobilephone()

	/**
	 * Set the value of [employeewebpage] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setEmployeewebpage($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->employeewebpage !== $v || $v === '') {
			$this->employeewebpage = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEWEBPAGE;
		}

	} // setEmployeewebpage()

	/**
	 * Set the value of [employeegender_id] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setEmployeegenderId($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->employeegender_id !== $v || $v === '') {
			$this->employeegender_id = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEGENDER_ID;
		}

	} // setEmployeegenderId()

	/**
	 * Set the value of [employeedateofbirth] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setEmployeedateofbirth($v)
	{

		if ($v !== null && !is_int($v)) {
			$ts = strtotime($v);
			if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
				throw new PropelException("Unable to parse date/time value for [employeedateofbirth] from input: " . var_export($v, true));
			}
		} else {
			$ts = $v;
		}
		if ($this->employeedateofbirth !== $ts) {
			$this->employeedateofbirth = $ts;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEDATEOFBIRTH;
		}

	} // setEmployeedateofbirth()

	/**
	 * Set the value of [employeestate_id] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setEmployeestateId($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->employeestate_id !== $v || $v === '') {
			$this->employeestate_id = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEESTATE_ID;
		}

	} // setEmployeestateId()

	/**
	 * Set the value of [employeessn] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setEmployeessn($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->employeessn !== $v || $v === '') {
			$this->employeessn = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEESSN;
		}

	} // setEmployeessn()

	/**
	 * Set the value of [employeepicture] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setEmployeepicture($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->employeepicture !== $v || $v === '') {
			$this->employeepicture = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEPICTURE;
		}

	} // setEmployeepicture()

	/**
	 * Set the value of [employeeishispanic] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setEmployeeishispanic($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->employeeishispanic !== $v || $v === 0) {
			$this->employeeishispanic = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEISHISPANIC;
		}

	} // setEmployeeishispanic()

	/**
	 * Set the value of [employeeisasian] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setEmployeeisasian($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->employeeisasian !== $v || $v === 0) {
			$this->employeeisasian = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEISASIAN;
		}

	} // setEmployeeisasian()

	/**
	 * Set the value of [employeeisafricanamerican] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setEmployeeisafricanamerican($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->employeeisafricanamerican !== $v || $v === 0) {
			$this->employeeisafricanamerican = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEISAFRICANAMERICAN;
		}

	} // setEmployeeisafricanamerican()

	/**
	 * Set the value of [employeeisamericanindian] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setEmployeeisamericanindian($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->employeeisamericanindian !== $v || $v === 0) {
			$this->employeeisamericanindian = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEISAMERICANINDIAN;
		}

	} // setEmployeeisamericanindian()

	/**
	 * Set the value of [employeeisalaskanative] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setEmployeeisalaskanative($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->employeeisalaskanative !== $v || $v === 0) {
			$this->employeeisalaskanative = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEISALASKANATIVE;
		}

	} // setEmployeeisalaskanative()

	/**
	 * Set the value of [employeeishawaiianorotherpacificislander] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setEmployeeishawaiianorotherpacificislander($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->employeeishawaiianorotherpacificislander !== $v || $v === 0) {
			$this->employeeishawaiianorotherpacificislander = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEISHAWAIIANOROTHERPACIFICISLANDER;
		}

	} // setEmployeeishawaiianorotherpacificislander()

	/**
	 * Set the value of [employeeiswhite] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setEmployeeiswhite($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->employeeiswhite !== $v || $v === 0) {
			$this->employeeiswhite = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMPLOYEEISWHITE;
		}

	} // setEmployeeiswhite()

	/**
	 * Set the value of [district_id] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setDistrictId($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->district_id !== $v || $v === '') {
			$this->district_id = $v;
			$this->modifiedColumns[] = HrEmployeePeer::DISTRICT_ID;
		}

	} // setDistrictId()

	/**
	 * Set the value of [districtphone] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setDistrictphone($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->districtphone !== $v || $v === '') {
			$this->districtphone = $v;
			$this->modifiedColumns[] = HrEmployeePeer::DISTRICTPHONE;
		}

	} // setDistrictphone()

	/**
	 * Set the value of [districtextension] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setDistrictextension($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->districtextension !== $v || $v === '') {
			$this->districtextension = $v;
			$this->modifiedColumns[] = HrEmployeePeer::DISTRICTEXTENSION;
		}

	} // setDistrictextension()

	/**
	 * Set the value of [homephoneunlisted] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setHomephoneunlisted($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->homephoneunlisted !== $v || $v === '') {
			$this->homephoneunlisted = $v;
			$this->modifiedColumns[] = HrEmployeePeer::HOMEPHONEUNLISTED;
		}

	} // setHomephoneunlisted()

	/**
	 * Set the value of [maritalstatus_id] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setMaritalstatusId($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->maritalstatus_id !== $v || $v === '') {
			$this->maritalstatus_id = $v;
			$this->modifiedColumns[] = HrEmployeePeer::MARITALSTATUS_ID;
		}

	} // setMaritalstatusId()

	/**
	 * Set the value of [subdays] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setSubdays($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->subdays !== $v || $v === 0) {
			$this->subdays = $v;
			$this->modifiedColumns[] = HrEmployeePeer::SUBDAYS;
		}

	} // setSubdays()

	/**
	 * Set the value of [osdidistrictcode] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setOsdidistrictcode($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->osdidistrictcode !== $v || $v === '') {
			$this->osdidistrictcode = $v;
			$this->modifiedColumns[] = HrEmployeePeer::OSDIDISTRICTCODE;
		}

	} // setOsdidistrictcode()

	/**
	 * Set the value of [directdepost] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setDirectdepost($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->directdepost !== $v || $v === 0) {
			$this->directdepost = $v;
			$this->modifiedColumns[] = HrEmployeePeer::DIRECTDEPOST;
		}

	} // setDirectdepost()

	/**
	 * Set the value of [retirementeligible] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setRetirementeligible($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->retirementeligible !== $v || $v === 0) {
			$this->retirementeligible = $v;
			$this->modifiedColumns[] = HrEmployeePeer::RETIREMENTELIGIBLE;
		}

	} // setRetirementeligible()

	/**
	 * Set the value of [handicapstatus] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setHandicapstatus($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->handicapstatus !== $v || $v === 0) {
			$this->handicapstatus = $v;
			$this->modifiedColumns[] = HrEmployeePeer::HANDICAPSTATUS;
		}

	} // setHandicapstatus()

	/**
	 * Set the value of [multilingual] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setMultilingual($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->multilingual !== $v || $v === 0) {
			$this->multilingual = $v;
			$this->modifiedColumns[] = HrEmployeePeer::MULTILINGUAL;
		}

	} // setMultilingual()

	/**
	 * Set the value of [reporttoemis] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setReporttoemis($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->reporttoemis !== $v || $v === 0) {
			$this->reporttoemis = $v;
			$this->modifiedColumns[] = HrEmployeePeer::REPORTTOEMIS;
		}

	} // setReporttoemis()

	/**
	 * Set the value of [odhsreported] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setOdhsreported($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->odhsreported !== $v || $v === 0) {
			$this->odhsreported = $v;
			$this->modifiedColumns[] = HrEmployeePeer::ODHSREPORTED;
		}

	} // setOdhsreported()

	/**
	 * Set the value of [emisemployeeid] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setEmisemployeeid($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->emisemployeeid !== $v || $v === '') {
			$this->emisemployeeid = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMISEMPLOYEEID;
		}

	} // setEmisemployeeid()

	/**
	 * Set the value of [emaildirectdepost] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setEmaildirectdepost($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->emaildirectdepost !== $v || $v === 0) {
			$this->emaildirectdepost = $v;
			$this->modifiedColumns[] = HrEmployeePeer::EMAILDIRECTDEPOST;
		}

	} // setEmaildirectdepost()

	/**
	 * Set the value of [user_id] column.
	 * 
	 * @param      string $v new value
	 * @return     void
	 */
	public function setUserId($v)
	{

		// Since the native PHP type for this column is string,
		// we will cast the input to a string (if it is not).
		if ($v !== null && !is_string($v)) {
			$v = (string) $v; 
		}

		if ($this->user_id !== $v || $v === '') {
			$this->user_id = $v;
			$this->modifiedColumns[] = HrEmployeePeer::USER_ID;
		}

	} // setUserId()

	/**
	 * Set the value of [boardhiredate] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setBoardhiredate($v)
	{

		if ($v !== null && !is_int($v)) {
			$ts = strtotime($v);
			if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
				throw new PropelException("Unable to parse date/time value for [boardhiredate] from input: " . var_export($v, true));
			}
		} else {
			$ts = $v;
		}
		if ($this->boardhiredate !== $ts) {
			$this->boardhiredate = $ts;
			$this->modifiedColumns[] = HrEmployeePeer::BOARDHIREDATE;
		}

	} // setBoardhiredate()

	/**
	 * Set the value of [fbibgcheckdate] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setFbibgcheckdate($v)
	{

		if ($v !== null && !is_int($v)) {
			$ts = strtotime($v);
			if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
				throw new PropelException("Unable to parse date/time value for [fbibgcheckdate] from input: " . var_export($v, true));
			}
		} else {
			$ts = $v;
		}
		if ($this->fbibgcheckdate !== $ts) {
			$this->fbibgcheckdate = $ts;
			$this->modifiedColumns[] = HrEmployeePeer::FBIBGCHECKDATE;
		}

	} // setFbibgcheckdate()

	/**
	 * Set the value of [bcibgcheckdate] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setBcibgcheckdate($v)
	{

		if ($v !== null && !is_int($v)) {
			$ts = strtotime($v);
			if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
				throw new PropelException("Unable to parse date/time value for [bcibgcheckdate] from input: " . var_export($v, true));
			}
		} else {
			$ts = $v;
		}
		if ($this->bcibgcheckdate !== $ts) {
			$this->bcibgcheckdate = $ts;
			$this->modifiedColumns[] = HrEmployeePeer::BCIBGCHECKDATE;
		}

	} // setBcibgcheckdate()

	/**
	 * Set the value of [tbtestdate] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setTbtestdate($v)
	{

		if ($v !== null && !is_int($v)) {
			$ts = strtotime($v);
			if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
				throw new PropelException("Unable to parse date/time value for [tbtestdate] from input: " . var_export($v, true));
			}
		} else {
			$ts = $v;
		}
		if ($this->tbtestdate !== $ts) {
			$this->tbtestdate = $ts;
			$this->modifiedColumns[] = HrEmployeePeer::TBTESTDATE;
		}

	} // setTbtestdate()

	/**
	 * Set the value of [ovrbgcheckdate] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setOvrbgcheckdate($v)
	{

		if ($v !== null && !is_int($v)) {
			$ts = strtotime($v);
			if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
				throw new PropelException("Unable to parse date/time value for [ovrbgcheckdate] from input: " . var_export($v, true));
			}
		} else {
			$ts = $v;
		}
		if ($this->ovrbgcheckdate !== $ts) {
			$this->ovrbgcheckdate = $ts;
			$this->modifiedColumns[] = HrEmployeePeer::OVRBGCHECKDATE;
		}

	} // setOvrbgcheckdate()

	/**
	 * Set the value of [cpidate] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setCpidate($v)
	{

		if ($v !== null && !is_int($v)) {
			$ts = strtotime($v);
			if ($ts === -1 || $ts === false) { // in PHP 5.1 return value changes to FALSE
				throw new PropelException("Unable to parse date/time value for [cpidate] from input: " . var_export($v, true));
			}
		} else {
			$ts = $v;
		}
		if ($this->cpidate !== $ts) {
			$this->cpidate = $ts;
			$this->modifiedColumns[] = HrEmployeePeer::CPIDATE;
		}

	} // setCpidate()

	/**
	 * Set the value of [hqteacher] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setHqteacher($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->hqteacher !== $v || $v === 0) {
			$this->hqteacher = $v;
			$this->modifiedColumns[] = HrEmployeePeer::HQTEACHER;
		}

	} // setHqteacher()

	/**
	 * Set the value of [outofstateexperience] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setOutofstateexperience($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->outofstateexperience !== $v || $v === 0) {
			$this->outofstateexperience = $v;
			$this->modifiedColumns[] = HrEmployeePeer::OUTOFSTATEEXPERIENCE;
		}

	} // setOutofstateexperience()

	/**
	 * Set the value of [inofstatepubexperience] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setInofstatepubexperience($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->inofstatepubexperience !== $v || $v === 0) {
			$this->inofstatepubexperience = $v;
			$this->modifiedColumns[] = HrEmployeePeer::INOFSTATEPUBEXPERIENCE;
		}

	} // setInofstatepubexperience()

	/**
	 * Set the value of [inofstatenonpubexperience] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setInofstatenonpubexperience($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->inofstatenonpubexperience !== $v || $v === 0) {
			$this->inofstatenonpubexperience = $v;
			$this->modifiedColumns[] = HrEmployeePeer::INOFSTATENONPUBEXPERIENCE;
		}

	} // setInofstatenonpubexperience()

	/**
	 * Set the value of [indistrictexperience] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setIndistrictexperience($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->indistrictexperience !== $v || $v === 0) {
			$this->indistrictexperience = $v;
			$this->modifiedColumns[] = HrEmployeePeer::INDISTRICTEXPERIENCE;
		}

	} // setIndistrictexperience()

	/**
	 * Set the value of [militarytime] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setMilitarytime($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->militarytime !== $v || $v === 0) {
			$this->militarytime = $v;
			$this->modifiedColumns[] = HrEmployeePeer::MILITARYTIME;
		}

	} // setMilitarytime()

	/**
	 * Set the value of [purchasedservicecredit] column.
	 * 
	 * @param      int $v new value
	 * @return     void
	 */
	public function setPurchasedservicecredit($v)
	{

		// Since the native PHP type for this column is integer,
		// we will cast the input value to an int (if it is not).
		if ($v !== null && !is_int($v) && is_numeric($v)) {
			$v = (int) $v;
		}

		if ($this->purchasedservicecredit !== $v || $v === 0) {
			$this->purchasedservicecredit = $v;
			$this->modifiedColumns[] = HrEmployeePeer::PURCHASEDSERVICECREDIT;
		}

	} // setPurchasedservicecredit()

	/**
	 * Hydrates (populates) the object variables with values from the database resultset.
	 *
	 * An offset (1-based "start column") is specified so that objects can be hydrated
	 * with a subset of the columns in the resultset rows.  This is needed, for example,
	 * for results of JOIN queries where the resultset row includes columns from two or
	 * more tables.
	 *
	 * @param      ResultSet $rs The ResultSet class with cursor advanced to desired record pos.
	 * @param      int $startcol 1-based offset column which indicates which restultset column to start with.
	 * @return     int next starting column
	 * @throws     PropelException  - Any caught Exception will be rewrapped as a PropelException.
	 */
	public function hydrate(ResultSet $rs, $startcol = 1)
	{
		try {

			$this->employee_uid = $rs->getString($startcol + 0);

			$this->employeefirstname = $rs->getString($startcol + 1);

			$this->employeemiddlename = $rs->getString($startcol + 2);

			$this->employeelastname = $rs->getString($startcol + 3);

			$this->employeecalledname = $rs->getString($startcol + 4);

			$this->employeeprefix_id = $rs->getString($startcol + 5);

			$this->employeesuffix_id = $rs->getString($startcol + 6);

			$this->employeeworkemail = $rs->getString($startcol + 7);

			$this->employeepersonalemail = $rs->getString($startcol + 8);

			$this->employeehomephone = $rs->getString($startcol + 9);

			$this->employeemobilephone = $rs->getString($startcol + 10);

			$this->employeewebpage = $rs->getString($startcol + 11);

			$this->employeegender_id = $rs->getString($startcol + 12);

			$this->employeedateofbirth = $rs->getDate($startcol + 13, null);

			$this->employeestate_id = $rs->getString($startcol + 14);

			$this->employeessn = $rs->getString($startcol + 15);

			$this->employeepicture = $rs->getString($startcol + 16);

			$this->employeeishispanic = $rs->getInt($startcol + 17);

			$this->employeeisasian = $rs->getInt($startcol + 18);

			$this->employeeisafricanamerican = $rs->getInt($startcol + 19);

			$this->employeeisamericanindian = $rs->getInt($startcol + 20);

			$this->employeeisalaskanative = $rs->getInt($startcol + 21);

			$this->employeeishawaiianorotherpacificislander = $rs->getInt($startcol + 22);

			$this->employeeiswhite = $rs->getInt($startcol + 23);

			$this->district_id = $rs->getString($startcol + 24);

			$this->districtphone = $rs->getString($startcol + 25);

			$this->districtextension = $rs->getString($startcol + 26);

			$this->homephoneunlisted = $rs->getString($startcol + 27);

			$this->maritalstatus_id = $rs->getString($startcol + 28);

			$this->subdays = $rs->getInt($startcol + 29);

			$this->osdidistrictcode = $rs->getString($startcol + 30);

			$this->directdepost = $rs->getInt($startcol + 31);

			$this->retirementeligible = $rs->getInt($startcol + 32);

			$this->handicapstatus = $rs->getInt($startcol + 33);

			$this->multilingual = $rs->getInt($startcol + 34);

			$this->reporttoemis = $rs->getInt($startcol + 35);

			$this->odhsreported = $rs->getInt($startcol + 36);

			$this->emisemployeeid = $rs->getString($startcol + 37);

			$this->emaildirectdepost = $rs->getInt($startcol + 38);

			$this->user_id = $rs->getString($startcol + 39);

			$this->boardhiredate = $rs->getDate($startcol + 40, null);

			$this->fbibgcheckdate = $rs->getDate($startcol + 41, null);

			$this->bcibgcheckdate = $rs->getDate($startcol + 42, null);

			$this->tbtestdate = $rs->getDate($startcol + 43, null);

			$this->ovrbgcheckdate = $rs->getDate($startcol + 44, null);

			$this->cpidate = $rs->getDate($startcol + 45, null);

			$this->hqteacher = $rs->getInt($startcol + 46);

			$this->outofstateexperience = $rs->getInt($startcol + 47);

			$this->inofstatepubexperience = $rs->getInt($startcol + 48);

			$this->inofstatenonpubexperience = $rs->getInt($startcol + 49);

			$this->indistrictexperience = $rs->getInt($startcol + 50);

			$this->militarytime = $rs->getInt($startcol + 51);

			$this->purchasedservicecredit = $rs->getInt($startcol + 52);

			$this->resetModified();

			$this->setNew(false);

			// FIXME - using NUM_COLUMNS may be clearer.
			return $startcol + 53; // 53 = HrEmployeePeer::NUM_COLUMNS - HrEmployeePeer::NUM_LAZY_LOAD_COLUMNS).

		} catch (Exception $e) {
			throw new PropelException("Error populating HrEmployee object", $e);
		}
	}

	/**
	 * Removes this object from datastore and sets delete attribute.
	 *
	 * @param      Connection $con
	 * @return     void
	 * @throws     PropelException
	 * @see        BaseObject::setDeleted()
	 * @see        BaseObject::isDeleted()
	 */
	public function delete($con = null)
	{
		if ($this->isDeleted()) {
			throw new PropelException("This object has already been deleted.");
		}

		if ($con === null) {
			$con = Propel::getConnection(HrEmployeePeer::DATABASE_NAME);
		}

		try {
			$con->begin();
			HrEmployeePeer::doDelete($this, $con);
			$this->setDeleted(true);
			$con->commit();
		} catch (PropelException $e) {
			$con->rollback();
			throw $e;
		}
	}

	/**
	 * Stores the object in the database.  If the object is new,
	 * it inserts it; otherwise an update is performed.  This method
	 * wraps the doSave() worker method in a transaction.
	 *
	 * @param      Connection $con
	 * @return     int The number of rows affected by this insert/update and any referring fk objects' save() operations.
	 * @throws     PropelException
	 * @see        doSave()
	 */
	public function save($con = null)
	{
		if ($this->isDeleted()) {
			throw new PropelException("You cannot save an object that has been deleted.");
		}

		if ($con === null) {
			$con = Propel::getConnection(HrEmployeePeer::DATABASE_NAME);
		}

		try {
			$con->begin();
			$affectedRows = $this->doSave($con);
			$con->commit();
			return $affectedRows;
		} catch (PropelException $e) {
			$con->rollback();
			throw $e;
		}
	}

	/**
	 * Stores the object in the database.
	 *
	 * If the object is new, it inserts it; otherwise an update is performed.
	 * All related objects are also updated in this method.
	 *
	 * @param      Connection $con
	 * @return     int The number of rows affected by this insert/update and any referring fk objects' save() operations.
	 * @throws     PropelException
	 * @see        save()
	 */
	protected function doSave($con)
	{
		$affectedRows = 0; // initialize var to track total num of affected rows
		if (!$this->alreadyInSave) {
			$this->alreadyInSave = true;


			// If this object has been modified, then save it to the database.
			if ($this->isModified()) {
				if ($this->isNew()) {
					$pk = HrEmployeePeer::doInsert($this, $con);
					$affectedRows += 1; // we are assuming that there is only 1 row per doInsert() which
										 // should always be true here (even though technically
										 // BasePeer::doInsert() can insert multiple rows).

					$this->setNew(false);
				} else {
					$affectedRows += HrEmployeePeer::doUpdate($this, $con);
				}
				$this->resetModified(); // [HL] After being saved an object is no longer 'modified'
			}

			$this->alreadyInSave = false;
		}
		return $affectedRows;
	} // doSave()

	/**
	 * Array of ValidationFailed objects.
	 * @var        array ValidationFailed[]
	 */
	protected $validationFailures = array();

	/**
	 * Gets any ValidationFailed objects that resulted from last call to validate().
	 *
	 *
	 * @return     array ValidationFailed[]
	 * @see        validate()
	 */
	public function getValidationFailures()
	{
		return $this->validationFailures;
	}

	/**
	 * Validates the objects modified field values and all objects related to this table.
	 *
	 * If $columns is either a column name or an array of column names
	 * only those columns are validated.
	 *
	 * @param      mixed $columns Column name or an array of column names.
	 * @return     boolean Whether all columns pass validation.
	 * @see        doValidate()
	 * @see        getValidationFailures()
	 */
	public function validate($columns = null)
	{
		$res = $this->doValidate($columns);
		if ($res === true) {
			$this->validationFailures = array();
			return true;
		} else {
			$this->validationFailures = $res;
			return false;
		}
	}

	/**
	 * This function performs the validation work for complex object models.
	 *
	 * In addition to checking the current object, all related objects will
	 * also be validated.  If all pass then <code>true</code> is returned; otherwise
	 * an aggreagated array of ValidationFailed objects will be returned.
	 *
	 * @param      array $columns Array of column names to validate.
	 * @return     mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objets otherwise.
	 */
	protected function doValidate($columns = null)
	{
		if (!$this->alreadyInValidation) {
			$this->alreadyInValidation = true;
			$retval = null;

			$failureMap = array();


			if (($retval = HrEmployeePeer::doValidate($this, $columns)) !== true) {
				$failureMap = array_merge($failureMap, $retval);
			}



			$this->alreadyInValidation = false;
		}

		return (!empty($failureMap) ? $failureMap : true);
	}

	/**
	 * Retrieves a field from the object by name passed in as a string.
	 *
	 * @param      string $name name
	 * @param      string $type The type of fieldname the $name is of:
	 *                     one of the class type constants TYPE_PHPNAME,
	 *                     TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM
	 * @return     mixed Value of field.
	 */
	public function getByName($name, $type = BasePeer::TYPE_PHPNAME)
	{
		$pos = HrEmployeePeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
		return $this->getByPosition($pos);
	}

	/**
	 * Retrieves a field from the object by Position as specified in the xml schema.
	 * Zero-based.
	 *
	 * @param      int $pos position in xml schema
	 * @return     mixed Value of field at $pos
	 */
	public function getByPosition($pos)
	{
		switch($pos) {
			case 0:
				return $this->getEmployeeUid();
				break;
			case 1:
				return $this->getEmployeefirstname();
				break;
			case 2:
				return $this->getEmployeemiddlename();
				break;
			case 3:
				return $this->getEmployeelastname();
				break;
			case 4:
				return $this->getEmployeecalledname();
				break;
			case 5:
				return $this->getEmployeeprefixId();
				break;
			case 6:
				return $this->getEmployeesuffixId();
				break;
			case 7:
				return $this->getEmployeeworkemail();
				break;
			case 8:
				return $this->getEmployeepersonalemail();
				break;
			case 9:
				return $this->getEmployeehomephone();
				break;
			case 10:
				return $this->getEmployeemobilephone();
				break;
			case 11:
				return $this->getEmployeewebpage();
				break;
			case 12:
				return $this->getEmployeegenderId();
				break;
			case 13:
				return $this->getEmployeedateofbirth();
				break;
			case 14:
				return $this->getEmployeestateId();
				break;
			case 15:
				return $this->getEmployeessn();
				break;
			case 16:
				return $this->getEmployeepicture();
				break;
			case 17:
				return $this->getEmployeeishispanic();
				break;
			case 18:
				return $this->getEmployeeisasian();
				break;
			case 19:
				return $this->getEmployeeisafricanamerican();
				break;
			case 20:
				return $this->getEmployeeisamericanindian();
				break;
			case 21:
				return $this->getEmployeeisalaskanative();
				break;
			case 22:
				return $this->getEmployeeishawaiianorotherpacificislander();
				break;
			case 23:
				return $this->getEmployeeiswhite();
				break;
			case 24:
				return $this->getDistrictId();
				break;
			case 25:
				return $this->getDistrictphone();
				break;
			case 26:
				return $this->getDistrictextension();
				break;
			case 27:
				return $this->getHomephoneunlisted();
				break;
			case 28:
				return $this->getMaritalstatusId();
				break;
			case 29:
				return $this->getSubdays();
				break;
			case 30:
				return $this->getOsdidistrictcode();
				break;
			case 31:
				return $this->getDirectdepost();
				break;
			case 32:
				return $this->getRetirementeligible();
				break;
			case 33:
				return $this->getHandicapstatus();
				break;
			case 34:
				return $this->getMultilingual();
				break;
			case 35:
				return $this->getReporttoemis();
				break;
			case 36:
				return $this->getOdhsreported();
				break;
			case 37:
				return $this->getEmisemployeeid();
				break;
			case 38:
				return $this->getEmaildirectdepost();
				break;
			case 39:
				return $this->getUserId();
				break;
			case 40:
				return $this->getBoardhiredate();
				break;
			case 41:
				return $this->getFbibgcheckdate();
				break;
			case 42:
				return $this->getBcibgcheckdate();
				break;
			case 43:
				return $this->getTbtestdate();
				break;
			case 44:
				return $this->getOvrbgcheckdate();
				break;
			case 45:
				return $this->getCpidate();
				break;
			case 46:
				return $this->getHqteacher();
				break;
			case 47:
				return $this->getOutofstateexperience();
				break;
			case 48:
				return $this->getInofstatepubexperience();
				break;
			case 49:
				return $this->getInofstatenonpubexperience();
				break;
			case 50:
				return $this->getIndistrictexperience();
				break;
			case 51:
				return $this->getMilitarytime();
				break;
			case 52:
				return $this->getPurchasedservicecredit();
				break;
			default:
				return null;
				break;
		} // switch()
	}

	/**
	 * Exports the object as an array.
	 *
	 * You can specify the key type of the array by passing one of the class
	 * type constants.
	 *
	 * @param      string $keyType One of the class type constants TYPE_PHPNAME,
	 *                        TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM
	 * @return     an associative array containing the field names (as keys) and field values
	 */
	public function toArray($keyType = BasePeer::TYPE_PHPNAME)
	{
		$keys = HrEmployeePeer::getFieldNames($keyType);
		$result = array(
			$keys[0] => $this->getEmployeeUid(),
			$keys[1] => $this->getEmployeefirstname(),
			$keys[2] => $this->getEmployeemiddlename(),
			$keys[3] => $this->getEmployeelastname(),
			$keys[4] => $this->getEmployeecalledname(),
			$keys[5] => $this->getEmployeeprefixId(),
			$keys[6] => $this->getEmployeesuffixId(),
			$keys[7] => $this->getEmployeeworkemail(),
			$keys[8] => $this->getEmployeepersonalemail(),
			$keys[9] => $this->getEmployeehomephone(),
			$keys[10] => $this->getEmployeemobilephone(),
			$keys[11] => $this->getEmployeewebpage(),
			$keys[12] => $this->getEmployeegenderId(),
			$keys[13] => $this->getEmployeedateofbirth(),
			$keys[14] => $this->getEmployeestateId(),
			$keys[15] => $this->getEmployeessn(),
			$keys[16] => $this->getEmployeepicture(),
			$keys[17] => $this->getEmployeeishispanic(),
			$keys[18] => $this->getEmployeeisasian(),
			$keys[19] => $this->getEmployeeisafricanamerican(),
			$keys[20] => $this->getEmployeeisamericanindian(),
			$keys[21] => $this->getEmployeeisalaskanative(),
			$keys[22] => $this->getEmployeeishawaiianorotherpacificislander(),
			$keys[23] => $this->getEmployeeiswhite(),
			$keys[24] => $this->getDistrictId(),
			$keys[25] => $this->getDistrictphone(),
			$keys[26] => $this->getDistrictextension(),
			$keys[27] => $this->getHomephoneunlisted(),
			$keys[28] => $this->getMaritalstatusId(),
			$keys[29] => $this->getSubdays(),
			$keys[30] => $this->getOsdidistrictcode(),
			$keys[31] => $this->getDirectdepost(),
			$keys[32] => $this->getRetirementeligible(),
			$keys[33] => $this->getHandicapstatus(),
			$keys[34] => $this->getMultilingual(),
			$keys[35] => $this->getReporttoemis(),
			$keys[36] => $this->getOdhsreported(),
			$keys[37] => $this->getEmisemployeeid(),
			$keys[38] => $this->getEmaildirectdepost(),
			$keys[39] => $this->getUserId(),
			$keys[40] => $this->getBoardhiredate(),
			$keys[41] => $this->getFbibgcheckdate(),
			$keys[42] => $this->getBcibgcheckdate(),
			$keys[43] => $this->getTbtestdate(),
			$keys[44] => $this->getOvrbgcheckdate(),
			$keys[45] => $this->getCpidate(),
			$keys[46] => $this->getHqteacher(),
			$keys[47] => $this->getOutofstateexperience(),
			$keys[48] => $this->getInofstatepubexperience(),
			$keys[49] => $this->getInofstatenonpubexperience(),
			$keys[50] => $this->getIndistrictexperience(),
			$keys[51] => $this->getMilitarytime(),
			$keys[52] => $this->getPurchasedservicecredit(),
		);
		return $result;
	}

	/**
	 * Sets a field from the object by name passed in as a string.
	 *
	 * @param      string $name peer name
	 * @param      mixed $value field value
	 * @param      string $type The type of fieldname the $name is of:
	 *                     one of the class type constants TYPE_PHPNAME,
	 *                     TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM
	 * @return     void
	 */
	public function setByName($name, $value, $type = BasePeer::TYPE_PHPNAME)
	{
		$pos = HrEmployeePeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
		return $this->setByPosition($pos, $value);
	}

	/**
	 * Sets a field from the object by Position as specified in the xml schema.
	 * Zero-based.
	 *
	 * @param      int $pos position in xml schema
	 * @param      mixed $value field value
	 * @return     void
	 */
	public function setByPosition($pos, $value)
	{
		switch($pos) {
			case 0:
				$this->setEmployeeUid($value);
				break;
			case 1:
				$this->setEmployeefirstname($value);
				break;
			case 2:
				$this->setEmployeemiddlename($value);
				break;
			case 3:
				$this->setEmployeelastname($value);
				break;
			case 4:
				$this->setEmployeecalledname($value);
				break;
			case 5:
				$this->setEmployeeprefixId($value);
				break;
			case 6:
				$this->setEmployeesuffixId($value);
				break;
			case 7:
				$this->setEmployeeworkemail($value);
				break;
			case 8:
				$this->setEmployeepersonalemail($value);
				break;
			case 9:
				$this->setEmployeehomephone($value);
				break;
			case 10:
				$this->setEmployeemobilephone($value);
				break;
			case 11:
				$this->setEmployeewebpage($value);
				break;
			case 12:
				$this->setEmployeegenderId($value);
				break;
			case 13:
				$this->setEmployeedateofbirth($value);
				break;
			case 14:
				$this->setEmployeestateId($value);
				break;
			case 15:
				$this->setEmployeessn($value);
				break;
			case 16:
				$this->setEmployeepicture($value);
				break;
			case 17:
				$this->setEmployeeishispanic($value);
				break;
			case 18:
				$this->setEmployeeisasian($value);
				break;
			case 19:
				$this->setEmployeeisafricanamerican($value);
				break;
			case 20:
				$this->setEmployeeisamericanindian($value);
				break;
			case 21:
				$this->setEmployeeisalaskanative($value);
				break;
			case 22:
				$this->setEmployeeishawaiianorotherpacificislander($value);
				break;
			case 23:
				$this->setEmployeeiswhite($value);
				break;
			case 24:
				$this->setDistrictId($value);
				break;
			case 25:
				$this->setDistrictphone($value);
				break;
			case 26:
				$this->setDistrictextension($value);
				break;
			case 27:
				$this->setHomephoneunlisted($value);
				break;
			case 28:
				$this->setMaritalstatusId($value);
				break;
			case 29:
				$this->setSubdays($value);
				break;
			case 30:
				$this->setOsdidistrictcode($value);
				break;
			case 31:
				$this->setDirectdepost($value);
				break;
			case 32:
				$this->setRetirementeligible($value);
				break;
			case 33:
				$this->setHandicapstatus($value);
				break;
			case 34:
				$this->setMultilingual($value);
				break;
			case 35:
				$this->setReporttoemis($value);
				break;
			case 36:
				$this->setOdhsreported($value);
				break;
			case 37:
				$this->setEmisemployeeid($value);
				break;
			case 38:
				$this->setEmaildirectdepost($value);
				break;
			case 39:
				$this->setUserId($value);
				break;
			case 40:
				$this->setBoardhiredate($value);
				break;
			case 41:
				$this->setFbibgcheckdate($value);
				break;
			case 42:
				$this->setBcibgcheckdate($value);
				break;
			case 43:
				$this->setTbtestdate($value);
				break;
			case 44:
				$this->setOvrbgcheckdate($value);
				break;
			case 45:
				$this->setCpidate($value);
				break;
			case 46:
				$this->setHqteacher($value);
				break;
			case 47:
				$this->setOutofstateexperience($value);
				break;
			case 48:
				$this->setInofstatepubexperience($value);
				break;
			case 49:
				$this->setInofstatenonpubexperience($value);
				break;
			case 50:
				$this->setIndistrictexperience($value);
				break;
			case 51:
				$this->setMilitarytime($value);
				break;
			case 52:
				$this->setPurchasedservicecredit($value);
				break;
		} // switch()
	}

	/**
	 * Populates the object using an array.
	 *
	 * This is particularly useful when populating an object from one of the
	 * request arrays (e.g. $_POST).  This method goes through the column
	 * names, checking to see whether a matching key exists in populated
	 * array. If so the setByName() method is called for that column.
	 *
	 * You can specify the key type of the array by additionally passing one
	 * of the class type constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME,
	 * TYPE_NUM. The default key type is the column's phpname (e.g. 'authorId')
	 *
	 * @param      array  $arr     An array to populate the object from.
	 * @param      string $keyType The type of keys the array uses.
	 * @return     void
	 */
	public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
	{
		$keys = HrEmployeePeer::getFieldNames($keyType);

		if (array_key_exists($keys[0], $arr)) $this->setEmployeeUid($arr[$keys[0]]);
		if (array_key_exists($keys[1], $arr)) $this->setEmployeefirstname($arr[$keys[1]]);
		if (array_key_exists($keys[2], $arr)) $this->setEmployeemiddlename($arr[$keys[2]]);
		if (array_key_exists($keys[3], $arr)) $this->setEmployeelastname($arr[$keys[3]]);
		if (array_key_exists($keys[4], $arr)) $this->setEmployeecalledname($arr[$keys[4]]);
		if (array_key_exists($keys[5], $arr)) $this->setEmployeeprefixId($arr[$keys[5]]);
		if (array_key_exists($keys[6], $arr)) $this->setEmployeesuffixId($arr[$keys[6]]);
		if (array_key_exists($keys[7], $arr)) $this->setEmployeeworkemail($arr[$keys[7]]);
		if (array_key_exists($keys[8], $arr)) $this->setEmployeepersonalemail($arr[$keys[8]]);
		if (array_key_exists($keys[9], $arr)) $this->setEmployeehomephone($arr[$keys[9]]);
		if (array_key_exists($keys[10], $arr)) $this->setEmployeemobilephone($arr[$keys[10]]);
		if (array_key_exists($keys[11], $arr)) $this->setEmployeewebpage($arr[$keys[11]]);
		if (array_key_exists($keys[12], $arr)) $this->setEmployeegenderId($arr[$keys[12]]);
		if (array_key_exists($keys[13], $arr)) $this->setEmployeedateofbirth($arr[$keys[13]]);
		if (array_key_exists($keys[14], $arr)) $this->setEmployeestateId($arr[$keys[14]]);
		if (array_key_exists($keys[15], $arr)) $this->setEmployeessn($arr[$keys[15]]);
		if (array_key_exists($keys[16], $arr)) $this->setEmployeepicture($arr[$keys[16]]);
		if (array_key_exists($keys[17], $arr)) $this->setEmployeeishispanic($arr[$keys[17]]);
		if (array_key_exists($keys[18], $arr)) $this->setEmployeeisasian($arr[$keys[18]]);
		if (array_key_exists($keys[19], $arr)) $this->setEmployeeisafricanamerican($arr[$keys[19]]);
		if (array_key_exists($keys[20], $arr)) $this->setEmployeeisamericanindian($arr[$keys[20]]);
		if (array_key_exists($keys[21], $arr)) $this->setEmployeeisalaskanative($arr[$keys[21]]);
		if (array_key_exists($keys[22], $arr)) $this->setEmployeeishawaiianorotherpacificislander($arr[$keys[22]]);
		if (array_key_exists($keys[23], $arr)) $this->setEmployeeiswhite($arr[$keys[23]]);
		if (array_key_exists($keys[24], $arr)) $this->setDistrictId($arr[$keys[24]]);
		if (array_key_exists($keys[25], $arr)) $this->setDistrictphone($arr[$keys[25]]);
		if (array_key_exists($keys[26], $arr)) $this->setDistrictextension($arr[$keys[26]]);
		if (array_key_exists($keys[27], $arr)) $this->setHomephoneunlisted($arr[$keys[27]]);
		if (array_key_exists($keys[28], $arr)) $this->setMaritalstatusId($arr[$keys[28]]);
		if (array_key_exists($keys[29], $arr)) $this->setSubdays($arr[$keys[29]]);
		if (array_key_exists($keys[30], $arr)) $this->setOsdidistrictcode($arr[$keys[30]]);
		if (array_key_exists($keys[31], $arr)) $this->setDirectdepost($arr[$keys[31]]);
		if (array_key_exists($keys[32], $arr)) $this->setRetirementeligible($arr[$keys[32]]);
		if (array_key_exists($keys[33], $arr)) $this->setHandicapstatus($arr[$keys[33]]);
		if (array_key_exists($keys[34], $arr)) $this->setMultilingual($arr[$keys[34]]);
		if (array_key_exists($keys[35], $arr)) $this->setReporttoemis($arr[$keys[35]]);
		if (array_key_exists($keys[36], $arr)) $this->setOdhsreported($arr[$keys[36]]);
		if (array_key_exists($keys[37], $arr)) $this->setEmisemployeeid($arr[$keys[37]]);
		if (array_key_exists($keys[38], $arr)) $this->setEmaildirectdepost($arr[$keys[38]]);
		if (array_key_exists($keys[39], $arr)) $this->setUserId($arr[$keys[39]]);
		if (array_key_exists($keys[40], $arr)) $this->setBoardhiredate($arr[$keys[40]]);
		if (array_key_exists($keys[41], $arr)) $this->setFbibgcheckdate($arr[$keys[41]]);
		if (array_key_exists($keys[42], $arr)) $this->setBcibgcheckdate($arr[$keys[42]]);
		if (array_key_exists($keys[43], $arr)) $this->setTbtestdate($arr[$keys[43]]);
		if (array_key_exists($keys[44], $arr)) $this->setOvrbgcheckdate($arr[$keys[44]]);
		if (array_key_exists($keys[45], $arr)) $this->setCpidate($arr[$keys[45]]);
		if (array_key_exists($keys[46], $arr)) $this->setHqteacher($arr[$keys[46]]);
		if (array_key_exists($keys[47], $arr)) $this->setOutofstateexperience($arr[$keys[47]]);
		if (array_key_exists($keys[48], $arr)) $this->setInofstatepubexperience($arr[$keys[48]]);
		if (array_key_exists($keys[49], $arr)) $this->setInofstatenonpubexperience($arr[$keys[49]]);
		if (array_key_exists($keys[50], $arr)) $this->setIndistrictexperience($arr[$keys[50]]);
		if (array_key_exists($keys[51], $arr)) $this->setMilitarytime($arr[$keys[51]]);
		if (array_key_exists($keys[52], $arr)) $this->setPurchasedservicecredit($arr[$keys[52]]);
	}

	/**
	 * Build a Criteria object containing the values of all modified columns in this object.
	 *
	 * @return     Criteria The Criteria object containing all modified values.
	 */
	public function buildCriteria()
	{
		$criteria = new Criteria(HrEmployeePeer::DATABASE_NAME);

		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEE_UID)) $criteria->add(HrEmployeePeer::EMPLOYEE_UID, $this->employee_uid);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEFIRSTNAME)) $criteria->add(HrEmployeePeer::EMPLOYEEFIRSTNAME, $this->employeefirstname);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEMIDDLENAME)) $criteria->add(HrEmployeePeer::EMPLOYEEMIDDLENAME, $this->employeemiddlename);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEELASTNAME)) $criteria->add(HrEmployeePeer::EMPLOYEELASTNAME, $this->employeelastname);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEECALLEDNAME)) $criteria->add(HrEmployeePeer::EMPLOYEECALLEDNAME, $this->employeecalledname);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEPREFIX_ID)) $criteria->add(HrEmployeePeer::EMPLOYEEPREFIX_ID, $this->employeeprefix_id);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEESUFFIX_ID)) $criteria->add(HrEmployeePeer::EMPLOYEESUFFIX_ID, $this->employeesuffix_id);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEWORKEMAIL)) $criteria->add(HrEmployeePeer::EMPLOYEEWORKEMAIL, $this->employeeworkemail);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEPERSONALEMAIL)) $criteria->add(HrEmployeePeer::EMPLOYEEPERSONALEMAIL, $this->employeepersonalemail);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEHOMEPHONE)) $criteria->add(HrEmployeePeer::EMPLOYEEHOMEPHONE, $this->employeehomephone);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEMOBILEPHONE)) $criteria->add(HrEmployeePeer::EMPLOYEEMOBILEPHONE, $this->employeemobilephone);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEWEBPAGE)) $criteria->add(HrEmployeePeer::EMPLOYEEWEBPAGE, $this->employeewebpage);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEGENDER_ID)) $criteria->add(HrEmployeePeer::EMPLOYEEGENDER_ID, $this->employeegender_id);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEDATEOFBIRTH)) $criteria->add(HrEmployeePeer::EMPLOYEEDATEOFBIRTH, $this->employeedateofbirth);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEESTATE_ID)) $criteria->add(HrEmployeePeer::EMPLOYEESTATE_ID, $this->employeestate_id);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEESSN)) $criteria->add(HrEmployeePeer::EMPLOYEESSN, $this->employeessn);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEPICTURE)) $criteria->add(HrEmployeePeer::EMPLOYEEPICTURE, $this->employeepicture);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEISHISPANIC)) $criteria->add(HrEmployeePeer::EMPLOYEEISHISPANIC, $this->employeeishispanic);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEISASIAN)) $criteria->add(HrEmployeePeer::EMPLOYEEISASIAN, $this->employeeisasian);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEISAFRICANAMERICAN)) $criteria->add(HrEmployeePeer::EMPLOYEEISAFRICANAMERICAN, $this->employeeisafricanamerican);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEISAMERICANINDIAN)) $criteria->add(HrEmployeePeer::EMPLOYEEISAMERICANINDIAN, $this->employeeisamericanindian);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEISALASKANATIVE)) $criteria->add(HrEmployeePeer::EMPLOYEEISALASKANATIVE, $this->employeeisalaskanative);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEISHAWAIIANOROTHERPACIFICISLANDER)) $criteria->add(HrEmployeePeer::EMPLOYEEISHAWAIIANOROTHERPACIFICISLANDER, $this->employeeishawaiianorotherpacificislander);
		if ($this->isColumnModified(HrEmployeePeer::EMPLOYEEISWHITE)) $criteria->add(HrEmployeePeer::EMPLOYEEISWHITE, $this->employeeiswhite);
		if ($this->isColumnModified(HrEmployeePeer::DISTRICT_ID)) $criteria->add(HrEmployeePeer::DISTRICT_ID, $this->district_id);
		if ($this->isColumnModified(HrEmployeePeer::DISTRICTPHONE)) $criteria->add(HrEmployeePeer::DISTRICTPHONE, $this->districtphone);
		if ($this->isColumnModified(HrEmployeePeer::DISTRICTEXTENSION)) $criteria->add(HrEmployeePeer::DISTRICTEXTENSION, $this->districtextension);
		if ($this->isColumnModified(HrEmployeePeer::HOMEPHONEUNLISTED)) $criteria->add(HrEmployeePeer::HOMEPHONEUNLISTED, $this->homephoneunlisted);
		if ($this->isColumnModified(HrEmployeePeer::MARITALSTATUS_ID)) $criteria->add(HrEmployeePeer::MARITALSTATUS_ID, $this->maritalstatus_id);
		if ($this->isColumnModified(HrEmployeePeer::SUBDAYS)) $criteria->add(HrEmployeePeer::SUBDAYS, $this->subdays);
		if ($this->isColumnModified(HrEmployeePeer::OSDIDISTRICTCODE)) $criteria->add(HrEmployeePeer::OSDIDISTRICTCODE, $this->osdidistrictcode);
		if ($this->isColumnModified(HrEmployeePeer::DIRECTDEPOST)) $criteria->add(HrEmployeePeer::DIRECTDEPOST, $this->directdepost);
		if ($this->isColumnModified(HrEmployeePeer::RETIREMENTELIGIBLE)) $criteria->add(HrEmployeePeer::RETIREMENTELIGIBLE, $this->retirementeligible);
		if ($this->isColumnModified(HrEmployeePeer::HANDICAPSTATUS)) $criteria->add(HrEmployeePeer::HANDICAPSTATUS, $this->handicapstatus);
		if ($this->isColumnModified(HrEmployeePeer::MULTILINGUAL)) $criteria->add(HrEmployeePeer::MULTILINGUAL, $this->multilingual);
		if ($this->isColumnModified(HrEmployeePeer::REPORTTOEMIS)) $criteria->add(HrEmployeePeer::REPORTTOEMIS, $this->reporttoemis);
		if ($this->isColumnModified(HrEmployeePeer::ODHSREPORTED)) $criteria->add(HrEmployeePeer::ODHSREPORTED, $this->odhsreported);
		if ($this->isColumnModified(HrEmployeePeer::EMISEMPLOYEEID)) $criteria->add(HrEmployeePeer::EMISEMPLOYEEID, $this->emisemployeeid);
		if ($this->isColumnModified(HrEmployeePeer::EMAILDIRECTDEPOST)) $criteria->add(HrEmployeePeer::EMAILDIRECTDEPOST, $this->emaildirectdepost);
		if ($this->isColumnModified(HrEmployeePeer::USER_ID)) $criteria->add(HrEmployeePeer::USER_ID, $this->user_id);
		if ($this->isColumnModified(HrEmployeePeer::BOARDHIREDATE)) $criteria->add(HrEmployeePeer::BOARDHIREDATE, $this->boardhiredate);
		if ($this->isColumnModified(HrEmployeePeer::FBIBGCHECKDATE)) $criteria->add(HrEmployeePeer::FBIBGCHECKDATE, $this->fbibgcheckdate);
		if ($this->isColumnModified(HrEmployeePeer::BCIBGCHECKDATE)) $criteria->add(HrEmployeePeer::BCIBGCHECKDATE, $this->bcibgcheckdate);
		if ($this->isColumnModified(HrEmployeePeer::TBTESTDATE)) $criteria->add(HrEmployeePeer::TBTESTDATE, $this->tbtestdate);
		if ($this->isColumnModified(HrEmployeePeer::OVRBGCHECKDATE)) $criteria->add(HrEmployeePeer::OVRBGCHECKDATE, $this->ovrbgcheckdate);
		if ($this->isColumnModified(HrEmployeePeer::CPIDATE)) $criteria->add(HrEmployeePeer::CPIDATE, $this->cpidate);
		if ($this->isColumnModified(HrEmployeePeer::HQTEACHER)) $criteria->add(HrEmployeePeer::HQTEACHER, $this->hqteacher);
		if ($this->isColumnModified(HrEmployeePeer::OUTOFSTATEEXPERIENCE)) $criteria->add(HrEmployeePeer::OUTOFSTATEEXPERIENCE, $this->outofstateexperience);
		if ($this->isColumnModified(HrEmployeePeer::INOFSTATEPUBEXPERIENCE)) $criteria->add(HrEmployeePeer::INOFSTATEPUBEXPERIENCE, $this->inofstatepubexperience);
		if ($this->isColumnModified(HrEmployeePeer::INOFSTATENONPUBEXPERIENCE)) $criteria->add(HrEmployeePeer::INOFSTATENONPUBEXPERIENCE, $this->inofstatenonpubexperience);
		if ($this->isColumnModified(HrEmployeePeer::INDISTRICTEXPERIENCE)) $criteria->add(HrEmployeePeer::INDISTRICTEXPERIENCE, $this->indistrictexperience);
		if ($this->isColumnModified(HrEmployeePeer::MILITARYTIME)) $criteria->add(HrEmployeePeer::MILITARYTIME, $this->militarytime);
		if ($this->isColumnModified(HrEmployeePeer::PURCHASEDSERVICECREDIT)) $criteria->add(HrEmployeePeer::PURCHASEDSERVICECREDIT, $this->purchasedservicecredit);

		return $criteria;
	}

	/**
	 * Builds a Criteria object containing the primary key for this object.
	 *
	 * Unlike buildCriteria() this method includes the primary key values regardless
	 * of whether or not they have been modified.
	 *
	 * @return     Criteria The Criteria object containing value(s) for primary key(s).
	 */
	public function buildPkeyCriteria()
	{
		$criteria = new Criteria(HrEmployeePeer::DATABASE_NAME);

		$criteria->add(HrEmployeePeer::EMPLOYEE_UID, $this->employee_uid);

		return $criteria;
	}

	/**
	 * Returns the primary key for this object (row).
	 * @return     string
	 */
	public function getPrimaryKey()
	{
		return $this->getEmployeeUid();
	}

	/**
	 * Generic method to set the primary key (employee_uid column).
	 *
	 * @param      string $key Primary key.
	 * @return     void
	 */
	public function setPrimaryKey($key)
	{
		$this->setEmployeeUid($key);
	}

	/**
	 * Sets contents of passed object to values from current object.
	 *
	 * If desired, this method can also make copies of all associated (fkey referrers)
	 * objects.
	 *
	 * @param      object $copyObj An object of HrEmployee (or compatible) type.
	 * @param      boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row.
	 * @throws     PropelException
	 */
	public function copyInto($copyObj, $deepCopy = false)
	{

		$copyObj->setEmployeefirstname($this->employeefirstname);

		$copyObj->setEmployeemiddlename($this->employeemiddlename);

		$copyObj->setEmployeelastname($this->employeelastname);

		$copyObj->setEmployeecalledname($this->employeecalledname);

		$copyObj->setEmployeeprefixId($this->employeeprefix_id);

		$copyObj->setEmployeesuffixId($this->employeesuffix_id);

		$copyObj->setEmployeeworkemail($this->employeeworkemail);

		$copyObj->setEmployeepersonalemail($this->employeepersonalemail);

		$copyObj->setEmployeehomephone($this->employeehomephone);

		$copyObj->setEmployeemobilephone($this->employeemobilephone);

		$copyObj->setEmployeewebpage($this->employeewebpage);

		$copyObj->setEmployeegenderId($this->employeegender_id);

		$copyObj->setEmployeedateofbirth($this->employeedateofbirth);

		$copyObj->setEmployeestateId($this->employeestate_id);

		$copyObj->setEmployeessn($this->employeessn);

		$copyObj->setEmployeepicture($this->employeepicture);

		$copyObj->setEmployeeishispanic($this->employeeishispanic);

		$copyObj->setEmployeeisasian($this->employeeisasian);

		$copyObj->setEmployeeisafricanamerican($this->employeeisafricanamerican);

		$copyObj->setEmployeeisamericanindian($this->employeeisamericanindian);

		$copyObj->setEmployeeisalaskanative($this->employeeisalaskanative);

		$copyObj->setEmployeeishawaiianorotherpacificislander($this->employeeishawaiianorotherpacificislander);

		$copyObj->setEmployeeiswhite($this->employeeiswhite);

		$copyObj->setDistrictId($this->district_id);

		$copyObj->setDistrictphone($this->districtphone);

		$copyObj->setDistrictextension($this->districtextension);

		$copyObj->setHomephoneunlisted($this->homephoneunlisted);

		$copyObj->setMaritalstatusId($this->maritalstatus_id);

		$copyObj->setSubdays($this->subdays);

		$copyObj->setOsdidistrictcode($this->osdidistrictcode);

		$copyObj->setDirectdepost($this->directdepost);

		$copyObj->setRetirementeligible($this->retirementeligible);

		$copyObj->setHandicapstatus($this->handicapstatus);

		$copyObj->setMultilingual($this->multilingual);

		$copyObj->setReporttoemis($this->reporttoemis);

		$copyObj->setOdhsreported($this->odhsreported);

		$copyObj->setEmisemployeeid($this->emisemployeeid);

		$copyObj->setEmaildirectdepost($this->emaildirectdepost);

		$copyObj->setUserId($this->user_id);

		$copyObj->setBoardhiredate($this->boardhiredate);

		$copyObj->setFbibgcheckdate($this->fbibgcheckdate);

		$copyObj->setBcibgcheckdate($this->bcibgcheckdate);

		$copyObj->setTbtestdate($this->tbtestdate);

		$copyObj->setOvrbgcheckdate($this->ovrbgcheckdate);

		$copyObj->setCpidate($this->cpidate);

		$copyObj->setHqteacher($this->hqteacher);

		$copyObj->setOutofstateexperience($this->outofstateexperience);

		$copyObj->setInofstatepubexperience($this->inofstatepubexperience);

		$copyObj->setInofstatenonpubexperience($this->inofstatenonpubexperience);

		$copyObj->setIndistrictexperience($this->indistrictexperience);

		$copyObj->setMilitarytime($this->militarytime);

		$copyObj->setPurchasedservicecredit($this->purchasedservicecredit);


		$copyObj->setNew(true);

		$copyObj->setEmployeeUid(''); // this is a pkey column, so set to default value

	}

	/**
	 * Makes a copy of this object that will be inserted as a new row in table when saved.
	 * It creates a new object filling in the simple attributes, but skipping any primary
	 * keys that are defined for the table.
	 *
	 * If desired, this method can also make copies of all associated (fkey referrers)
	 * objects.
	 *
	 * @param      boolean $deepCopy Whether to also copy all rows that refer (by fkey) to the current row.
	 * @return     HrEmployee Clone of current object.
	 * @throws     PropelException
	 */
	public function copy($deepCopy = false)
	{
		// we use get_class(), because this might be a subclass
		$clazz = get_class($this);
		$copyObj = new $clazz();
		$this->copyInto($copyObj, $deepCopy);
		return $copyObj;
	}

	/**
	 * Returns a peer instance associated with this om.
	 *
	 * Since Peer classes are not to have any instance attributes, this method returns the
	 * same instance for all member of this class. The method could therefore
	 * be static, but this would prevent one from overriding the behavior.
	 *
	 * @return     HrEmployeePeer
	 */
	public function getPeer()
	{
		if (self::$peer === null) {
			self::$peer = new HrEmployeePeer();
		}
		return self::$peer;
	}

} // BaseHrEmployee
